<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Assistente de URL : Guia do Usuário CodeIgniter</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv="expires" content="-1" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="robots" content="all" />
<meta name="author" content="ExpressionEngine Dev Team" />
<meta name="description" content="Guia do Usuário do CodeIgniter" />
</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Alternar Tabela de Conteúdos" alt="Alternar Tabela de Conteúdos" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>Guia de Usuário CodeIgniter Versão 2.0.0</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Tabela de Conteúdos</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com.br/">Página Inicial</a> › 
<a href="../index.html">Guia de Usuário CodeIgniter</a> › Assistente de URL
</td>
<td id="searchbox"><form method="get" action="http://www.google.com.br/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com.br/manual/" />Busca <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Ok" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Assistente de URL</h1>

<p>O arquivo Assistente de URL contém funções que auxiliam no trabalho com URLs.</p>


<h2>Carregando este Assistente</h2>

<p>Este assistente é carregado usando o seguinte código:</p>
<code>$this->load->helper('url');</code>

<p>As funções disponíveis são as seguintes:</p>

<h2>site_url()</h2>

<p>Retorna a URL de seu site, conforme especificada no seu arquivo de configuração. O arquivo index.php (ou algum outro que seja
a <dfn>index_page</dfn> de seu site conforme seu arquivo de configuração) será adicionado à URL, como qualquer segmento URI que você passar para a função.

</p>

<p>Sinta-se encorajado a usar esta função sempre que precisar gerar uma URL local de modo que suas páginas tornem-se muito mais portáveis
na eventualidade de mudanças em sua URL.</p>

<p>Segmentos podem ser passados (opcionalmente) para a função como uma string ou array. Aqui está um exemplo de string:</p>

<code>echo site_url("news/local/123");</code>

<p>O exemplo acima retornará algo assim: http://example.com/index.php/news/local/123</p>

<p>Aqui está um exemplo de segmentos passados como um array:</p>

<code>
$segments = array('news', 'local', '123');<br />
<br />
echo site_url($segments);</code>


<h2>base_url()</h2>
<p>Retorna a URL base do seu site, conforme especificado no seu arquivo de configuração. Exemplo:</p>
<code>echo base_url();</code>


<h2>current_url()</h2>
<p>Retorna a URL completa (incluindo segmentos) da página que esta sendo vista.</p>


<h2>uri_string()</h2>
<p>Retorna os segmentos URI de qualquer página que contém essa função. Por exemplo, se o seu URL foi esta:</p>
<code>http://some-site.com/blog/comments/123</code>

<p>A função retornaria:</p>
<code>/blog/comments/123</code>


<h2>index_page()</h2>
<p>Retorna a página "index" do seu site, conforme especificado no seu arquivo de configuração. Exemplo:</p>
<code>echo index_page();</code>



<h2>anchor()</h2>

<p>Cria um link HTML baseado na URL local de seu site:</p>

<code>&lt;a href="http://example.com">Clique aqui&lt;/a></code>

<p>A tag tem três parâmetros opcionais:</p>

<code>anchor(<var>uri segments</var>, <var>text</var>, <var>attributes</var>)</code>

<p>O primeiro parâmetro pode conter qualquer segmento que você queira adicionar à URL. Como com a função <dfn>site_url()</dfn> acima,
segmentos podem ser uma string ou um array.</p>

<p><strong>Nota:</strong>&nbsp; Se você estiver montando links internos para sua aplicação não inclua a URL base (http://...). Isto
será adicionado automaticamente conforme informação especificada no seu arquivo de configuração. Inclua apenas os segmentos de URI que você deseje adicionar à URL.</p>

<p>O segundo parâmetro é o texto que o link vai mostrar como clicável. Se deixado em branco então a URL será usada.</p>

<p>O terceiro parâmetro pode conter uma lista de atributos que você gostaria de adicionar ao link(tag). Os atributos podem ser uma simples string ou um array associativo.</p>

<p>Aqui estão alguns exemplos:</p>

<code>echo anchor('news/local/123', 'My News', 'title="News title"');</code>

<p>Produzirá: &lt;a href="http://example.com/index.php/news/local/123" title="News title">My News&lt;/a></p>

<code>echo anchor('news/local/123', 'My News', array('title' => 'The best news!'));</code>

<p>Produzirá: &lt;a href="http://example.com/index.php/news/local/123" title="The best news!">My News&lt;/a></p>


<h2>anchor_popup()</h2>

<p>Quase idêntico à função <dfn>anchor()</dfn> exceto que abrirá a url em uma nova janela.

Você pode especificar atributos Javascript no terceiro parâmetro para controlar como a janela será aberta. Se
o terceiro parâmetro não estiver configurado, simplesmente a nova janela será aberta conforme as configurações do navagador do usuário. Aqui está um exemplo
com atributos:</p>

<code>

$atts = array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'width'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '800',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'height'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '600',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'scrollbars' => 'yes',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'status'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> 'yes',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'resizable'&nbsp;&nbsp;=> 'yes',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'screenx'&nbsp;&nbsp;&nbsp;&nbsp;=> '0',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'screeny'&nbsp;&nbsp;&nbsp;&nbsp;=> '0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<br />
echo anchor_popup('news/local/123', 'Click Me!', $atts);</code>

<p>Nota: Os atributos acima são funções padrão sendo que você somente precisará declará-las se precisar de algo diferente disso.
Se você quiser que a função use todos os valores padrões basta passar um array vazio como terceiro parâmetro:</p>

<code>echo anchor_popup('news/local/123', 'Click Me!', array());</code>


<h2>mailto()</h2>

<p>Cria uma tag link para e-mail. Exemplo de uso:</p>

<code>echo mailto('me@my-site.com', 'Clique aqui para falar comigo');</code>

<p>Como com a tag <dfn>anchor()</dfn> acima, você pode declarar atributos usando o terceiro parâmetro.</p>


<h2>safe_mailto()</h2>

<p>Idêntico à função acima exceto por escrever uma versão ofuscada da tag mailto usando números
escritos com Javascript para ajudar a bloquear o rastreio dos emails por robôs de spam.</p>


<h2>auto_link()</h2>

<p>Transforma URLs e emails (que estão em strings) automaticamente em links. Exemplo:</p>

<code>$string = auto_link($string);</code>

<p>O segundo parâmetro determina se URLs e emails serão convertidos ou somente um ou outro. O padrão é a transformação
de ambos se o parâmetro não for especificado</p>

<p>Converte apenas URLs:</p>
<code>$string = auto_link($string, 'url');</code>

<p>Converte apenas endereços de Email:</p>
<code>$string = auto_link($string, 'email');</code>

<p>O terceiro parâmetro determina se os links serão aberto em uma nova janela. O valor pode ser TRUE ou FALSE (booleano): </p>
<code>$string = auto_link($string, 'both', TRUE);</code>


<h2>url_title()</h2>
<p>Pega uma string como entrada e cria uma string URL amigável. É útil se, por exemplo, você tiver um blog
no qual gostaria de usar o título de seus artigos na URL. Exemplo:</p>

<code>$title = "O que há de errado com o CSS?";<br />
<br />
$url_title = url_title($title);<br />
<br />
// Produzirá: o-que-ha-de-errado-com-o-css
</code>


<p>O segundo parâmetro determina o delimitador de palavra. Por padrão traços serão usados. As opções são <dfn>traço</dfn>, ou <dfn>underscore</dfn>:</p>

<code>$title = "O que há de errado com o CSS?";<br />
<br />
$url_title = url_title($title, 'underscore');<br />
<br />
// Produzirá:  o_que_ha_de_errado_com_o_css
</code>

<p>O terceiro parâmetro determina é ou não forçado os caracteres em minúsculas. Por padão não são. As opções são boleanas <dfn>TRUE</dfn>/<dfn>FALSE</dfn>:</p>

<code>$title = "O que há de errado com o CSS?";<br />
<br />
$url_title = url_title($title, 'underscore', TRUE);<br />
<br />
// Produzirá:  o_que_ha_de_errado_com_o_css
</code>

<h3>prep_url()</h3>
<p>Esta função adicionará <kbd>http://</kbd> se estiver faltando na URL. Passe a string URL para a função deste modo:</p>
<code>
$url = "example.com";<br /><br />
$url = prep_url($url);</code>




<h2>redirect()</h2>

<p>Faz um "header redirect"(redirecionamento pelo servidor) para a URI local especificada. Se você especificar a URL completa do site que o link irá formar, mas para links simplesmente fornecendo os segmentos URI
do controller que você quer direcionar para cirar o link. A função montará a URL baseada nos valores declarados no seu arquivo de configuração.</p>

<p>O segundo parâmetro permite que você escolha entre o método "location" (padrão)
ou o método "refresh". O "location" é mais rápido, porém em servidores Windows pode ser um problema algumas vezes. O terceiro parâmetro opcional permite que você envie um determinado HTTP Response Code - este poderia ser utilizado por exemplo para criar redirecionamentos 301 para fins de motor de pesquisa. O padrão Response Code é 302. O terceiro parâmetro esta <em>apenas</em> disponível com o redirecionamento 'location', e não 'refresh'. Exemplos:</p>

<code>if ($logged_in == FALSE)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redirect('/login/form/', 'refresh');<br />
}<br />
<br />
// com 301 redirect<br />
redirect('/article/13', 'location', 301);</code>

<p class="important"><strong>Nota:</strong> Para esta função funcionar ela deve ser declarada antes que qualquer coisa que
gere uma saída ao browser, pois ela usa cabeçalhos de servidor(server headers).<br />
<strong>Note:</strong> Para um controle masi refinado sobre os cabeçalhos, você deve usar a função set_header() da <a href="../libraries/output.html"> Biblioteca Saída </a>.</p>






</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Tópico Anterior:&nbsp;&nbsp;<a href="typography_helper.html">Assistente de Tipografia</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Topo da Página</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">Guia de Usuário CodeIgniter</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Próximo Assunto:&nbsp;&nbsp;<a href="xml_helper.html">Assistente de XML</a>
</p>
<p><a href="http://codeigniter.com.br">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>

</body>
</html>